package com.cloudlead.commonData.vo;

import com.cloudlead.common.lang.persistence.AbstractIdEntity;

import com.cloudlead.commonData.action.validator.BaseOilCardValidatorGroup.*;

import java.lang.Float;
import javax.validation.constraints.Size;
import com.cloudlead.common.lang.annotation.BelongsTos;
import com.cloudlead.common.lang.annotation.Domain;
import org.joda.time.DateTime;
import com.cloudlead.common.lang.annotation.Label;
import java.lang.String;
import javax.validation.constraints.NotNull;
import com.cloudlead.commonData.vo.BaseCompany;

/**
 * BaseOilCard is a Codegen vo type
 */
@Label("油卡基本信息表")
@BelongsTos(values = {
	@com.cloudlead.common.lang.annotation.BelongsTo(property="baseCompany", rootField="baseCompanyId")
})
@Domain(domainClassName="com.cloudlead.commonData.entity.EBaseOilCard")
public class BaseOilCard extends AbstractIdEntity<String> {

    private static final long serialVersionUID =13151237852984L;    
    @Label("账户编号")
    @Size(max=45)
    private String accountNumber;

    @NotNull(groups={Create.class,Update.class})
    @Label("baseCompanyId")
    private BaseCompany baseCompany;

    @Label("备注")
    @Size(max=256)
    private String comment;

    @Label("购卡日期")
    private DateTime date;

    @Label("当前金额")
    private Float endMoney;

    @Label("删除标记")
    @Size(max=45)
    private String flag;

    @NotNull(groups={Update.class})
    @Label("ID")
    @Size(max=24)
    private String id;

    @Label("对应主卡编号")
    @Size(max=45)
    private String number;

    @Label("startMoney")
    private Float startMoney;

    @Label("油卡状态")
    @Size(max=45)
    private String status;

    @Label("油卡类型")
    @Size(max=45)
    private String type;

    @Label("经办人")
    @Size(max=45)
    private String user;

    public String getAccountNumber() {
        return accountNumber;
    }

    public void setAccountNumber(String accountNumber) {
        this.accountNumber = accountNumber;
    }

    public BaseCompany getBaseCompany() {
        return baseCompany;
    }

    public void setBaseCompany(BaseCompany baseCompany) {
        this.baseCompany = baseCompany;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public DateTime getDate() {
        return date;
    }

    public void setDate(DateTime date) {
        this.date = date;
    }

    public Float getEndMoney() {
        return endMoney;
    }

    public void setEndMoney(Float endMoney) {
        this.endMoney = endMoney;
    }

    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public Float getStartMoney() {
        return startMoney;
    }

    public void setStartMoney(Float startMoney) {
        this.startMoney = startMoney;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String toString() {
         return String.format("BaseOilCard { accountNumber : %s,baseCompany : %s,comment : %s,date : %s,endMoney : %s,flag : %s,id : %s,number : %s,startMoney : %s,status : %s,type : %s,user : %s }",accountNumber,baseCompany,comment,date,endMoney,flag,id,number,startMoney,status,type,user);
    }

}

